package br.org.acessobrasil.processoacessibilidade.dao;

import java.util.List;

import javax.persistence.NoResultException;
import javax.persistence.Query;

import br.org.acessobrasil.processoacessibilidade.vo.ArquivoPro;
import br.org.acessobrasil.processoacessibilidade.vo.SitioPro;

public class ArquivoDao extends SuperDao<ArquivoPro>{

	@Override
	public ArquivoPro find(long id) {
		synchronized (getEntityManager()) {
			return getEntityManager().find(ArquivoPro.class,id);
		}
	}
	public ArquivoPro find(String url) {
		try {
			synchronized (getEntityManager()) {
				Query q = getEntityManager().createQuery("select s from ArquivoPro s where s.url = ?");
				q.setParameter(1, url);
				return (ArquivoPro) q.getSingleResult();	
			}
		} catch (NoResultException e) {
			return null;
		}
	}
	@SuppressWarnings("unchecked")
	public List<ArquivoPro> selectErros(SitioPro sitio) {
		synchronized (getEntityManager()) {
			Query q = getEntityManager().createQuery("select a from ArquivoPro a where (not a.erro is null)");
			return q.getResultList();
		}
	}
}
